home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2004 April / Gamestar_61_2004-04_dvdb.iso / DVDStar / Editace / hltp.exe / {app} / Source Code / MAP Viewer / Camera.h < prev    next >
C/C++ Source or Header  |  2003-10-09  |  1KB  |  60 lines

  1. /*
  2. Half-Life MAP viewing utility.
  3. Copyright (C) 2003  Ryan Samuel Gregg
  4.  
  5. This program is free software; you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation; either version 2 of the License, or
  8. (at your option) any later version.
  9.  
  10. This program is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. GNU General Public License for more details.
  14.  
  15. You should have received a copy of the GNU General Public License
  16. along with this program; if not, write to the Free Software
  17. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  18. */
  19.  
  20. #pragma once
  21.  
  22. __gc class CCamera
  23. {
  24. private:
  25.     Vertex3f vPosition;
  26.     Vertex3f vLookAt;
  27.     Vertex3f vUp;
  28.     Vertex2f vAngle;
  29.  
  30.     float fTimeElapsed;
  31.     long lLastTick;
  32.  
  33.     float fFPS;
  34.     long lLastFPSUpdateTick;
  35.     long lFrames;
  36.     float fFrameInterval;
  37.  
  38.     //long lFreq;
  39.  
  40.     bool bInvertCamera;
  41.  
  42. public:
  43.     CCamera();
  44.  
  45.     inline float GetFPS()
  46.     {
  47.         return fFPS;
  48.     }
  49.  
  50.     void InitializePerformanceCounter();
  51.     void UpdateTimeElapsed();
  52.  
  53.     void MoveCameraAngles(int iAngleX, int iAngleY);
  54.     void MoveCamera(float fWalk, float fStrafe);
  55.     void CalculateLookAt();
  56.  
  57.     void SetCamera();
  58.  
  59.     void Reset();
  60. };